package model;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the ue database table.
 * 
 */
@Entity
@NamedQuery(name="Ue.findAll", query="SELECT u FROM Ue u")
public class Ue implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int idUE;

	private String nom;

	private int semestre;

	//bi-directional many-to-one association to Module
	@OneToMany(mappedBy="ue")
	private List<Module> modules;

	//bi-directional many-to-one association to Ueformation
	@OneToMany(mappedBy="ue")
	private List<Ueformation> ueformations;

	//bi-directional many-to-one association to Ueobligatoire
	@OneToMany(mappedBy="ue")
	private List<Ueobligatoire> ueobligatoires;

	//bi-directional many-to-one association to Ueoptionnel
	@OneToMany(mappedBy="ue")
	private List<Ueoptionnel> ueoptionnels;

	public Ue() {
	}

	public int getIdUE() {
		return this.idUE;
	}

	public void setIdUE(int idUE) {
		this.idUE = idUE;
	}

	public String getNom() {
		return this.nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public int getSemestre() {
		return this.semestre;
	}

	public void setSemestre(int semestre) {
		this.semestre = semestre;
	}

	public List<Module> getModules() {
		return this.modules;
	}

	public void setModules(List<Module> modules) {
		this.modules = modules;
	}

	public Module addModule(Module module) {
		getModules().add(module);
		module.setUe(this);

		return module;
	}

	public Module removeModule(Module module) {
		getModules().remove(module);
		module.setUe(null);

		return module;
	}

	public List<Ueformation> getUeformations() {
		return this.ueformations;
	}

	public void setUeformations(List<Ueformation> ueformations) {
		this.ueformations = ueformations;
	}

	public Ueformation addUeformation(Ueformation ueformation) {
		getUeformations().add(ueformation);
		ueformation.setUe(this);

		return ueformation;
	}

	public Ueformation removeUeformation(Ueformation ueformation) {
		getUeformations().remove(ueformation);
		ueformation.setUe(null);

		return ueformation;
	}

	public List<Ueobligatoire> getUeobligatoires() {
		return this.ueobligatoires;
	}

	public void setUeobligatoires(List<Ueobligatoire> ueobligatoires) {
		this.ueobligatoires = ueobligatoires;
	}

	public Ueobligatoire addUeobligatoire(Ueobligatoire ueobligatoire) {
		getUeobligatoires().add(ueobligatoire);
		ueobligatoire.setUe(this);

		return ueobligatoire;
	}

	public Ueobligatoire removeUeobligatoire(Ueobligatoire ueobligatoire) {
		getUeobligatoires().remove(ueobligatoire);
		ueobligatoire.setUe(null);

		return ueobligatoire;
	}

	public List<Ueoptionnel> getUeoptionnels() {
		return this.ueoptionnels;
	}

	public void setUeoptionnels(List<Ueoptionnel> ueoptionnels) {
		this.ueoptionnels = ueoptionnels;
	}

	public Ueoptionnel addUeoptionnel(Ueoptionnel ueoptionnel) {
		getUeoptionnels().add(ueoptionnel);
		ueoptionnel.setUe(this);

		return ueoptionnel;
	}

	public Ueoptionnel removeUeoptionnel(Ueoptionnel ueoptionnel) {
		getUeoptionnels().remove(ueoptionnel);
		ueoptionnel.setUe(null);

		return ueoptionnel;
	}

}